/*
 * KararYontemiGrubu.java
 */
package eDoktor.kararMekanizmasi;

import eDoktor.hastalik.Hastalik;
import eDoktor.hastalikGrubu.Cevap;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * Karar yöntemlerini biraraya getiren sınıf
 * @author Onuralp
 */
public abstract class KararYontemiGrubu implements KararYontemiArayuz {
    protected List<KararYontemiArayuz> yontemlerListesi;

    /**
     * KararYontemiGrubu sınıfının yapılandırıcısı
     */
    public KararYontemiGrubu() {
        yontemlerListesi = new ArrayList<KararYontemiArayuz>();
    }
    
    /**
     * Karar yöntemlerini listeye ekle.
     * @param yontem Karar yöntemi
     */
    public void yontemEkle(KararYontemiArayuz yontem) {
        yontemlerListesi.add(yontem);
    }
    
    @Override
    public abstract double degerlendir(Map<String, Cevap> vaka, Hastalik hastalik);
}
